// pages/test-details/test-details.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    result: [],
    pageSize: 20,
    list: [],
    index: 0,
    answersObj: {},
    show: false,
    time: '30:00',
    type: 'primary',
    isPlain: true
  },

  // 获取随机试题数据
  getList() {
    wx.request({
      url: 'http://172.20.10.5:2345/exam/rand-list',
      data: {
        pageSize: this.data.pageSize
      },
      success: res => {
        this.setData({
          list: this.dealList(res.data.data)
        })
      }
    })
  },

  // 处理List数组 - 转为JSON对象
  dealList(arr) {
    return (arr.map(item => {
      return {
        ...item,
        answers: JSON.parse(item.answers),
        options: JSON.parse(item.options),
        type: 'primary'
      }
    }))
  },

  // 显示弹出层
  showPopup() {
    this.setData({
      show: true
    });
  },

  // 隐藏弹出层
  onClose() {
    this.setData({
      show: false
    });
  },

  // 点击下一题 
  doNextQuestion() {
    let newObj = this.data.answersObj,
      index = this.data.index,
      currentIndex = this.data.index + 1,
      list = this.data.list
    newObj[index] = this.data.result.sort().join('')
    console.log(this.data.list[index].answers.sort().join(""))
    console.log(this.data.list[index])
    if (newObj[index] == list[index].answers.sort().join("")) {
      list[index].type = "success"
    } else {
      list[index].type = "danger"
    }
    this.setData({
      list: list
    })
    // this.setData({
    //   type: newObj[index] ? newObj[index] == this.data.list[index].answers.sort().join("") ? 'success' : 'danger' : 'primary'
    // })
    this.setData({
      index: currentIndex,
      answersObj: newObj,
      result: []
    })
    if (newObj[currentIndex]) {
      this.setData({
        index: currentIndex,
        result: newObj[currentIndex].split("")
      })
    }
  },

  // 点击上一题
  doPreviousQuestion() {
    let currentIndex = this.data.index - 1
    this.setData({
      index: currentIndex,
      result: this.data.answersObj[currentIndex].split(''),
    })
  },

  // 选择答案
  onChange(event) {
    this.setData({
      result: event.detail,
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let {
      mode
    } = options
    this.getList()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})